import time
import pyautogui
import random

# 循环，每20分钟发送一次消息
while True:
    # 打开微信
    pyautogui.hotkey('alt', 'r')
    time.sleep(1)  # 等待微信打开，根据实际情况调整等待时间

    # 切换到聊天窗口，可以根据微信窗口标题进行定位
    pyautogui.hotkey('ctrl', 'f')
    time.sleep(1)
    chat_window_title = "马浩"  # 将标题替换为你要与之聊天的好友或群的标题 (此案例是给女朋友的备注“宝贝”，所以我搜“bb”就可以准确获取)

    # 模拟按键，搜索好友或群

    pyautogui.write(chat_window_title)
    time.sleep(3)
    pyautogui.press('enter')
    time.sleep(2)  # 等待聊天窗口打开，根据实际情况调整等待时间

    # 输入消息内容（此处根据你电脑实际输入法，包括键盘输入之后按空格选第一个选项这一步骤，我的案例里面最后都会带一个空格。上文搜索聊天窗口的地方也可以灵活运用空格。）
    message = [
        "bbzgm ",  # 宝贝在干嘛
        "bbxnl ",  # 宝贝想你了
        "bbano ",  # 宝贝爱你哦
        "hei ",  # 嘿
        "haoleia ",  # 好累啊
    ]

    pyautogui.write(random.choice(message))
    time.sleep(2)
    pyautogui.press('enter')

    # 关闭微信窗口
    pyautogui.hotkey('alt', 'f4')

    # 等待20分钟
    time.sleep(5)  # 将20分钟转换为秒

    # 注意：此处的代码会无限循环发送消息，需要手动停止脚本运行。
